﻿/*Copyright (C) 2010-2012 RAAFCOM B.V. All rights reserved.

This file is part of Velsto and may be used under the terms of:
The GNU General Public License version 3 or higher, as published by
the Free Software Foundation.

This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.*/
/* 
 * Application  : Velsto
 * Class        : Constants
 * 04/06/2010-  : M.A.van Ravesteijn (Raafcom)
 *   02/09/2010   Initial version v1.0
 * 07/05/2012   : M.A. van Ravesteijn (Raafcom)
 *                version 1.1 kriging residuals
 * 10/11/2012   : M.A. van Ravesteijn (Raafcom)
 *                version 1.2 various additions
 * 
 * Class for Constants
 */ 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Velsto
{
    public class Constants
    {
        // Property file
        public const string PROPSFILE = "velsto.props";

        // Version in vsw file
        public const string VSWVERSION_V10  = "version1.0";
        public const string VSWVERSION_V12  = "version1.2";

        // Grid condition options
        public const int GRID_EQ = 1;
        public const int GRID_UNEQCOMREF = 2;
        public const int GRID_UNEQNNQUICK = 3;

        // min,max ranges for mapping, nodata
        public const double MAP_MAX = 10000000.0;
        public const double MAP_MIN = -10000000.0;
        public const string MAP_NODATA = "99999";
        public const double MAP_NODATA_DBL = 99999.0;

        // nodata for shape depth values
        public const double SHP_NODATA = 99999.0;

        // Simulation options
        public const int SIM_SINGLE_POINT_TD = 1;
        public const int SIM_SINGLE_POINT = 2;
        public const int SIM_FULL_TD = 3;
        public const int SIM_FULL = 4;
        
        // Maptype options
        public const int MAP_TWT = 1;
        public const int MAP_TWTDEV = 2;
        public const int MAP_V = 3;
        public const int MAP_VDEV = 4;
        public const int MAP_Z = 5;
        public const int MAP_ZDEV = 6;
        public const int MAP_ZDEV_WELL = 7;
        public const int MAP_Z_WELL = 8;
        public const int MAP_GENXYZ = 9;
        public const int MAP_ZDEV_WELL2 = 10;
        public const int MAP_WELL_BULL = 11;
        public const int MAP_RES_KRIG = 12;

        // SemiVariogramModels
        public const int VAR_MODEL_SPHER = 1;
        public const int VAR_MODEL_EXP = 2;
        public const int VAR_MODEL_GAUSS = 3;

        // Griddingtype options
        public const int GRIDDINGTYPE_TRIANG = 1;
        public const int GRIDDINGTYPE_NEARNEIGH = 2;
        public const int GRIDDINGTYPE_CONTCURV = 3;

        // Kriging type options
        public const int KRIGINGTYPE_SIMPLE = 1;
        public const int KRIGINGTYPE_ORDINARY = 2;

        // Control points Calculator Operators
        public const int CONTCALCOPER_ADD = 1;
        public const int CONTCALCOPER_SUB = 2;
        public const int CONTCALCOPER_MULT = 3;
        public const int CONTCALCOPER_DIV = 4;

        // Colorscheme options
        public const int COLOR_RAINBOW = 1;
        public const int COLOR_SUMMERMOUNTAINS = 2;
        public const int COLOR_DEADSEA = 3;
        public const int COLOR_DESERT = 4;
        public const int COLOR_FALLLEAVES = 5;
        public const int COLOR_GLACIERS = 6;
        public const int COLOR_VALLEYFIRES = 7;
        public Color COLOR_SUM_L = Color.FromArgb(10, 100, 10);
        public Color COLOR_SUM_M = Color.FromArgb(153, 125, 25);
        public Color COLOR_SUM_H = Color.FromArgb(255, 255, 255);
        public Color COLOR_DEA_L = Color.FromArgb(51, 137, 208);
        public Color COLOR_DEA_M = Color.FromArgb(226, 227, 166);
        public Color COLOR_DEA_H = Color.FromArgb(151, 146, 117);
        public Color COLOR_DES_L = Color.FromArgb(211, 206, 97);
        public Color COLOR_DES_M = Color.FromArgb(139, 120, 112);
        public Color COLOR_DES_H = Color.FromArgb(255, 255, 255);
        public Color COLOR_FAL_L = Color.FromArgb(10, 100, 10);
        public Color COLOR_FAL_M = Color.FromArgb(199, 130, 61);
        public Color COLOR_FAL_H = Color.FromArgb(241, 220, 133);
        public Color COLOR_GLA_L = Color.FromArgb(105, 171, 224);
        public Color COLOR_GLA_M = Color.FromArgb(162, 234, 240);
        public Color COLOR_GLA_H = Color.FromArgb(255, 255, 255);
        public Color COLOR_VAL_L = Color.FromArgb(164, 0, 0);
        public Color COLOR_VAL_M = Color.FromArgb(255, 128, 64);
        public Color COLOR_VAL_H = Color.FromArgb(255, 255, 191);
        // Velocity functions
        public const string VEL_SELECT = "Select V type";
        public const string VEL_VINT = "Vint";
        public const string VEL_VINT_GRID = "Grid Vint";
        public const string VEL_V0K = "V0 and K";
        public const string VEL_V0_GRID_K = "Grid V0 and K";
        public const string VEL_LINREG = "dZ=F.dT+G";

        // LP Data Table Constants
        public const int LPDT_COL_TWTFILE = 1;
        public const int LPDT_COL_TWTDEVFILE = 3;
        public const int LPDT_COL_VFILE = 6;
        public const int LPDT_COL_VDEVFILE = 8;
        public const int LPDT_COL_LAYERNAME = 11;


        // LP Data Grid View Constants 
        public const int CELL_COL_TWTBUT = 0;
        public const int CELL_COL_TWTDEVBUT = 1;
        public const int CELL_COL_VSELCOMBO = 2;
        public const int CELL_COL_VBUT = 3;
        public const int CELL_COL_VDEVBUT = 4;
        public const int CELL_COL_LAYERNR = 5;
        public const int CELL_COL_TWTFILE = 6;
        public const int CELL_COL_TWTDEV = 7;
        public const int CELL_COL_TWTDEVFILE = 8;
        public const int CELL_COL_K = 9;
        public const int CELL_COL_V = 10;
        public const int CELL_COL_VFILE = 11;
        public const int CELL_COL_VDEV = 12;
        public const int CELL_COL_VDEVFILE = 13;
        public const int CELL_COL_DEPVEL = 14;
        public const int CELL_COL_DEPV0K = 15;
        public const int CELL_COL_LAYERNAME = 16;

        public const int COL_LAYERNR = 0;
        public const int COL_TWTFILE = 1;
        public const int COL_TWTBUT = 2;
        public const int COL_TWTDEV = 3;
        public const int COL_TWTDEVFILE = 4;
        public const int COL_TWTDEVBUT = 5;
        public const int COL_VSELCOMBO = 6;
        public const int COL_K = 7;
        public const int COL_V = 8;
        public const int COL_VFILE = 9;
        public const int COL_VBUT = 10;
        public const int COL_VDEV = 11;
        public const int COL_VDEVFILE = 12;
        public const int COL_VDEVBUT = 13;
        public const int COL_DEPVEL = 14;
        public const int COL_DEPV0K = 15;
        public const int COL_LAYERNAME = 16;

        public const string TWTBUTTONTEXT = "Get Grid TWT";
        public const string VBUTTONTEXT = "Get Grid V";
        public const string VDEVBUTTONTEXT = "Get Grid \u03c3V";
        public const string TWTDEVBUTTONTEXT = "Get Grid \u03c3TWT";

        public const int RWF_PHASE_MARKERS = 1;
        public const int RWF_PHASE_RESID = 2;
        public const int RWF_PHASE_VARIOGRAM = 3;
        public const int RWF_PHASE_RESMAP = 4;
        public const int RWF_PHASE_WELLAVZMAP = 5;

        public const string SAVED_DEPTH_FILE_STRING = "SavedByVelsto";
    }
}
